﻿using CPPEI.Coolzon.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace CPPEI.Coolzon.DataTask
{
    /// <summary>
    /// 管理任务，并发的任务调用过来之后，这个类会按照顺序同步的执行这些任务
    /// </summary>
    public static class DataLoadTaskManager
    {
        /// <summary>
        /// 执行任务,如果任务已存在则添加已有组件到已有任务中
        /// </summary>
        /// <param name="task"></param>
        public static void Run(DataLoadTask task)
        {
            if (DataLoadTaskPool.Instance.AddOrUpdateTask(task) == DataLoadTaskPool.AddOrUpdateTaskResult.Add)
            {
                task.Run();
            }
        }


        /// <summary>
        /// 停止任务
        /// </summary>
        /// <param name="dataLoadTask"></param>
        public static void Stop(DataLoadTask dataLoadTask)
        {
            //for (int index = 0; index < _taskQueue.Count; index++)
            //{
            //    if (_taskQueue[index].Identity == dataLoadTask.Identity)
            //    {
            //        for (int rpIndex = 0; rpIndex < dataLoadTask.RelateParts.Count; rpIndex++)
            //        {
            //            _taskQueue[index].RemoveDataPart(dataLoadTask.RelateParts[rpIndex].Target);
            //        }
            //    }
            //}

            //if (string.Equals(_currentTask.Identity, dataLoadTask.Identity))
            //{
            //    // 终止任务
            //}
        }
    }
}
